AWS ParallelCluster 更新処理失敗からの復旧 - CloudFormation スタックの修正手順
AWS ParallelCluster は、HPC クラスターを構築・管理するサービスです。設定変更(pcluster update-cluster
コマンド)時に、設定ミスなどで更新に失敗する可能性があります。本記事では、CloudFormation スタックを操作し、pcluster update-cluster
コマンドを再実行できるようにする方法を紹介します。
先にまとめ
AWS ParallelCluster のクラスターの設定変更(pcluster update-cluster
コマンド実行時)に失敗した場合、CloudFormation の親スタックを UPDATE_COMPLETE
状態へ戻すことで再実行が可能になります。
状況確認
CloudFormation スタックの状態確認
- AWS マネジメントコンソールから CloudFormation に移動します。
pcluster update-cluster
コマンドで更新を試みた対象クラスター名のスタックを確認します。- スタックの状態が
UPDATE_ROLLBACK_COMPLETE
になっていることを確認します。
pclsuter update-cluster
の設定変更処理に失敗し、上手くロールバックできていればこの状態になるはずです。その場合は以降の手順でスタックの状態を正常な状態へ戻せます。
スタックの復旧手順
pcluster update-cluster
コマンドを再実行するには、CloudFormation の親スタックをUPDATE_ROLLBACK_COMPLETE
状態からUPDATE_COMPLETE
状態に戻す必要があります。
親スタックの更新
- 設定更新に失敗した親スタックを選択します。
- 「更新」ボタンをクリックします。
- 「既存のテンプレートを使用」を選択し、「次へ」をクリックし、最後まで進み更新をかけます。
更新結果の確認
ロールバックが正常に完了すると、親スタックはUPDATE_COMPLETE
状態になります。この時点で、子スタックの状態は無視して構いません。
これで、pcluster update-cluster
コマンドによる更新処理を再試行する準備が整いました。
再アップデート
pcluster update-cluster
コマンドを使用して設定を更新します。詳細な手順については、以下の記事を参照してください。
- AWS ParallelCluster 既存クラスターを pcluster update-cluster コマンドで設定を変更する手順 | DevelopersIO
- AWS ParallelCluster 既存クラスターの設定を変更する手順 – fish シェル編 | DevelopersIO
更新が成功すると、子スタックもUPDATE_COMPLETE
状態になります。
まとめ
AWS ParallelCluster の更新失敗後、CloudFormation スタックの修正プロセスは以下の通りです。
- 親 CloudFormation スタックの状態を
UPDATE_COMPLETE
に戻す - 設定変更失敗の原因を特定し修正する(本記事では扱っていません)
pcluster update-cluster
コマンドで再度設定を更新する- すべての CloudFormation スタックが
UPDATE_COMPLETE
状態になることを確認する
上記の手順により CloudFormation スタックを正常な状態に戻し、pcluster update-cluster
コマンドによる更新処理を再試行できます。 ただし、根本的な問題解決には失敗原因の特定と修正が必須です。
おわりに
AWS ParallelCluster で作成された CloudFormation スタックの修正方法に関する情報が少ないため、実際に設定変更に失敗した際の復旧手順をまとめました。